Power Management in a Virtual Machine Farm at the Local Virtual Machine Platform Level by a Platform Hypervisor Extended with Farm Management Server Functions

ABSTRACT

Power management for a virtual machine farm in which each hypervisor respectively serving each virtual machine platform in the farm is provided with an extended hypervisor function coacts with functions provided by the connection broker and the manual configuration interface of the virtual machine farm management server for managing each respective virtual machine platform to maximize the time that each platform is in the reduced power state.

CROSS-REFERENCE TO COPENDING PATENT APPLICATION

Copending application Ser. No. 12/393,475, James J. Bozek et al., filed Feb. 26, 2009, entitled: Power Management to Maximize Reduced Power State For Virtual Machine Platforms, assigned to common assignee, is hereby incorporated by reference.

TECHNICAL FIELD

The present invention relates to power management virtual machine platforms including a plurality of virtual machines, each respectively connected to each of a plurality of separate computers and computer devices, and particularly to power management for farms; such virtual machine platforms controlled through virtual machine farm management servers.

BACKGROUND OF RELATED ART

In the past ten years, with the great increase in World Wide Web (Web) systems, the computer processing power required by an organization has grown exponentially each year so that now hundreds, and even thousands, of servers are required. This has led to a resurgence of larger and larger mainframe computers; particularly mainframe and like large computers operating in a virtual machine (VM) mode in which multiple instances of an operating system and associated application program reside on the same physical hardware.

Such virtual machines have been satisfying the needs for the large number of operating instances and applications that are often arrayed as virtual machine server farms in which the virtual machines reside on a number of physical servers. For further background, attention is directed to the article: Virtual Linux servers under z/VM: security, performance, and administrative issues, D. Turk, published in the IBM Systems Journal, July 2005; and to the article, More POWER to Ya, Expanded Virtualization Manager capabilities help customers grow and manage virtualized environments, Jim Fall, published in the IBM Systems Magazine, September 2007. In such virtual machine environments, wherein multiple user computers are connected to each physical virtual machine platform providing a plurality of virtual machines respectively connected to these multiple users at client computers and computer controlled devices, power management is difficult to control. Full power is required at each virtual machine platform prior to the initiation of a virtual machine session. Since the virtual machine platform must always be available to remote user computers that need to access appropriate virtual machines, it has been customary to continuously operate any on-line platform in a full power mode. The wasted power consumption becomes particularly pronounced when the virtual machine platforms are arrayed as virtual machine server farms consisting of a number of physically powered servers.

SUMMARY OF THE PRESENT INVENTION

The present invention addresses the power consumption problem of maintaining each virtual machine platform in a farm of such virtual machine platforms, in a full power mode even when there are no user computers connected to the virtual machine platform in an active mode.

To this end, the present invention provides a system, method and computer program for power management in which each hypervisor respectively serving each physical virtual machine platform in the farm is provided with an extended hypervisor function that coacts with functions provided from the overall virtual machine farm management servers for managing each respective virtual machine platform to maximize the time that each platform is in the reduced power state.

There is provided a plurality of sets of client devices so that each set includes a plurality of client devices respectively connected to the virtual machines in one of said plurality of virtual machine platforms. Client devices are understood to include user computers and computer subsystems including printers, disk drives and serial ports among others. In the description of the invention that follows, when the term user computer is used, it is intended to include all such client devices.

A virtual machine farm management server for distributing and coordinating workload among the virtual machine platforms is provided. There are means in the management server, operatively associated with each of the platform hypervisors to provide an extended platform hypervisor, in which the extended hypervisor includes: means for determining if each of the client devices connected to the virtual machines controlled by the extended platform hypervisor is in an active state; and means for switching the virtual machine platform of the extended platform hypervisor into a reduced power consumption state when all of the client devices connected to virtual machines controlled by the extended platform hypervisor are in a non-active state.

In order to provide the extended hypervisor function of the present invention, the farm management server provides the extended hypervisor with means, a manual configuration interface, for inputting data to configure the extended platform hypervisor to monitor and place the virtual machine platform of the extended hypervisor into the reduced power consumption state upon a predetermined period after all of the client devices connected to virtual machines controlled by the extended platform hypervisor are in a non-active state.

The virtual machine farm management server also provides the extended hypervisor with functions, in a management server connection broker, for tracking said reduced power consumption state of the virtual machine platform of the extended hypervisor.

The virtual machine farm management server further provides the extended hypervisor with functions for switching the virtual machine platforms controlled by each of said extended platform hypervisors back to full power state upon the activation of a client device connected to a virtual machine controlled by said extended platform hypervisor.

BRIEF DESCRIPTION OF THE DRAWINGS

The present invention will be better understood and its numerous objects and advantages will become more apparent to those skilled in the art by reference to the following drawings, in conjunction with the accompanying specification, in which:

FIG. 1 is a generalized diagrammatic view of a network portion showing a farm of a plurality of virtual machine platforms respectively connected to a plurality of sets of user computers or computer controlled devices managed by virtual machine farm management servers;

FIG. 2 is a diagrammatic view like that of FIG. 1, including a single representative virtual machine platform and a set of remote user computers or client devices connected to virtual machines in the platform to illustrate the non-active state monitoring of the user computers;

FIG. 3 is a general flowchart of a program set up to implement the present invention for power management in a virtual machine environment to illustrate the switching of a virtual machine platform to a reduced power state when all of the client devices connected to virtual machines controlled by the extended platform hypervisor are in a non-active state; and

FIG. 4 is a general flowchart of a program set up to implement the present invention for power management in a virtual machine environment to illustrate the switching of a virtual machine platform to a full power state when one or more of the client devices connected to virtual machines controlled by the extended platform hypervisor resume an active state.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT

Referring to FIG. 1, there is shown, a network including a virtual farm of a plurality of virtual machine units 10, 11 and 12, as shown within boundary 13. Each unit includes a virtual machine platform (I-N) 14, 15 and 16, and a respective hypervisor I-N, 17 through 19 that will function as the extended hypervisor, as will hereinafter be described. Each unit has a standard ACPI (Advanced Configuration Power Interface) BIOS 20 through 22.

Each virtual machine unit that is defined by its respective platform (I-N), 14, 15 and 16, controls a respective set, 23 through 25, of user computers, i.e. client devices, Desktops 1, 2 and n (26 through 28) (which may be remote), connected via network connectors 30 that may be over the Web to virtual machines, each of VM1, VM2 and VMn in the respective platforms 14 through 16, using each of operating systems OS1, OS2 and OSn in each unit platform 14 through 16.

The virtual machine farm 13 is controlled via a virtual farm management server 41 in an enterprise network 40. This farm management function may be implemented by servers of the x86 type. For example, the IBM BladeCenter™ HS22 blade server may be used for this implementation configured with IBM Systems Director 6.1.

The management server 41 is illustrated in general as supported on a server platform 42 with an appropriate operating system 43 operating the following function units, among others: a connection broker 44; a Global Virtual Farm Manager 45 is available to supervise the running of virtual machine platforms where a plurality of virtual machine farms are being controlled; a hypervisor management console 47 provides the hypervisor function for the management server; and a manual configuration interface 46.

FIG. 2, which is a portion of the virtual farm of FIG. 1 that will be used in conjunction with the programs to be discussed with respect to FIGS. 3 and 4 to describe the power management implementation of the present invention for providing power management for a virtual machine farm in which each hypervisor respectively serving each virtual machine platform in the farm is provided with an extended hypervisor function, coacts with functions provided from the overall virtual machine farm management server for managing each respective virtual machine platform to maximize the time that each platform is in the reduced power state. For purposes of simplifying this illustration, we will describe the invention with respect to a single virtual machine unit 10 supported by platform I, 14, FIG. 2.

The running of the program of the present invention will now be described in the stages shown in FIG. 3, and these stages will be referenced, where applicable, in the illustrative portion of the virtual machine farm of FIG. 2.

Stage 1: using management configuration interface 46 of management server 41, the hypervisor 17 for a virtual machine platform 14 is configured so that after an H second delay subsequent to all VM1 through VMn being in the inactive state, hypervisor I, 17 will cause the farm unit 10 of platform 14 to go into the reduced power state S3 “sleep” state, Stage 2. The Stage 2 data is stored in hypervisor 17 that coacts with management configuration interface 46 in the management server 41 to function as an “extended hypervisor”; wherein hypervisor 17 begins monitoring of VM1 through VMn, and at Stage 3, a V_Count is set=total number of active devices 1-n (26 through 28, FIG. 2). At Stage 4, a determination is made as to whether a device 1-n has been inactive for a period S. If Yes then, Stage 5, the VM1 through n/OS1-n for the respective device is put into the reduced power S3 state. This is carried out by ACPI BIOS 20, FIG. 2, which causes the VM supporting the inactive device, e.g. VM1 supporting device 26, to automatically suspend execution, and the hypervisor 17 has the state of VM1 stored in the standard manner, so as to be available whenever device 26 becomes active again.

The V_Count is decremented by 1 in hypervisor 17, Stage 6, and a determination is made in hypervisor 17 as to whether V_Count>0, Stage 7. If Yes, the process returns to Stage 4 and the virtual machine unit of platform 14 continues to run in the full power “S5” state. Subsequently, if all of devices 1 through n (26 through 28) become inactive and the determination from Stage 7 is No, then a further determination is made, Stage 8, as to whether the predetermined delay H>0. If No then, Stage 9, hypervisor 17 notifies the manual configuration interface 46 and connection broker 44 in management server 41. Hypervisor 17 stores its state so that it will be available when the supported devices become active and puts the platform 14 into the reduced power S3 state, Stage 10.

Now with respect to FIG. 4, there will be described the running of the program of the present invention to restore the virtual platform 14 in the farm 13, FIG. 2, to the full powered state upon the activation of one of the desktop devices 1 through n. At the entry point, FIG. 4, Platform I, 14 (FIG. 2), is at the reduced S3 power level and all of the devices 1 through n in set 23 are inactive. An initial determination is made, Stage 11, whether a device has become activated and requested a connection to a VM. If Yes then, Stage 12, connection broker (CB) 44, preferably a LeoStream connection broker in management server 41 determines that a VM, i.e. VM2 (still in S3 state), will be used on extended function hypervisor 17 serving platform 14, and the connection broker sends a wake-up packet to the MAC (Media Access Control) Address of the NIC (Network Interface Card) on Platform 14, Stage 13. Platform 14 then transitions extended hypervisor I (17) to the full power S5 state, Stage 15. Hypervisor I notifies CB 44 of its full power state, Stage 16, and in return CB 44 functions to command extended Hypervisor I to raise the V_Count to 0+1=1, Stage 17. OS2 and VM2 start up, Stage 18, and the activated desktop device, e.g. desktop 27 is operational, stage 19.

At this point, the awakened platform I (14) awaits the next activated desktop, a Yes decision stage 20, FIG. 4. In the description above, the requesting desktop device was a new user device. Now, for purposes of a thorough description, assume that the determination at 20 is Yes and that the next requesting desktop is a previous user desktop, e.g. desktop 1 (26) in set 23. The resumption of the session on desktop device 26 commences as indicated by any HID (Human Interface Device) movement, Stage 21. Device 26 sends a wake-up packet to the MAC (Media Access Control) Address of its previously connected VM1, Stage 22. Extended hypervisor 17 resumes the activation of VM1, Stage 23, and adds 1 to the V_Count, Stage 25. OS1 and VM1 start up, Stage 25, and the activated desktop device, e.g. desktop 26 is operational, Stage 26. At this point, the process is routed via branch “A” to Stage 20 and the processing is continued.

Although certain preferred embodiments have been shown and described, it will be understood that many changes and modifications may be made therein without departing from the scope and intent of the appended claims. 

1. A system for power management in a virtual machine farm comprising: a farm of a plurality of virtual machine platforms, each platform providing a plurality of virtual machines and including a platform hypervisor for controlling said plurality of virtual machines; a plurality of sets, each set including a plurality of client devices respectively connected to the virtual machines in one of said plurality of virtual machine platforms; a virtual machine farm management server for distributing and coordinating workload among said virtual machine platforms; and means, in said management server, operatively associated with each of said platform hypervisors to provide an extended platform hypervisor, wherein said extended hypervisor includes: means for determining if each of said client devices connected to said virtual machines controlled by said extended platform hypervisor is in an active state; and means for switching said virtual machine platform of said extended platform hypervisor into a reduced power consumption state when all of said client devices connected to virtual machines controlled by said extended platform hypervisor are in a non-active state.
 2. The system for power management of claim 1, wherein said extended platform hypervisor includes means in said management server for inputting data to configure said extended platform hypervisor to monitor and place said virtual machine platform of the extended hypervisor into said reduced power consumption state upon a predetermined period after all of said client devices connected to virtual machines controlled by said extended platform hypervisor are in a non-active state.
 3. The system for power management of claim 2, wherein said means in said management server for inputting data to configure said extended platform hypervisor is the manual configuration interface.
 4. The system for power management of claim 1, wherein said extended platform hypervisor further includes means in said management server for tracking said reduced power consumption state of the virtual machine platform of the extended hypervisor.
 5. The system for power management of claim 4, wherein said means in said management server for tracking said reduced power consumption state of the virtual machine platform of the extended hypervisor is a management server connection broker.
 6. The system for power management of claim 1, wherein said extended platform hypervisor further includes means in said virtual farm management server for switching the virtual machine platforms controlled by each of said extended platform hypervisors back to full power state upon the activation of a client device connected to a virtual machine controlled by said extended platform hypervisor.
 7. The system for power management of claim 4, wherein said means in said virtual farm management server for switching said virtual machine platforms controlled by each of said extended platform hypervisors back to full power state upon the activation of said client device is a management server connection broker.
 8. In a virtual machine farm system including a plurality of virtual machine platforms, each platform providing a farm of a plurality of virtual machines and including a platform hypervisor for controlling said plurality of virtual machines; a plurality of sets, each set including a plurality of client devices respectively connected to the virtual machines in one of said plurality of virtual machine platforms; and a virtual machine farm management server for distributing and coordinating workload among said virtual machine platforms, a method for sharing power management between any selected platform hypervisor and said farm management server to extend the selected platform hypervisor to carry out steps comprising: determining if each of said client devices connected to said virtual machines controlled by said selected platform hypervisor is in an active state; and switching said virtual machine platform of said selected platform hypervisor into a reduced power consumption state when all of said client devices connected to virtual machines controlled by said selected platform hypervisor are in a non-active state.
 9. The method of claim 8, wherein said farm management server enables the inputting of data to configure said selected extended platform hypervisor to monitor and place said virtual machine platform of said selected extended hypervisor into sail reduced power consumption state upon a predetermined period after all of said client devices connected to virtual machines controlled by said extended platform hypervisor are in a non-active state.
 10. The method of claim 9, wherein said farm management server enables the inputting of data through a manual configuration interface in said management server to configure said selected extended platform hypervisor.
 11. The method of claim 8, wherein said farm management server tracks said reduced power consumption state of the virtual machine platform of said selected extended hypervisor.
 12. The method of claim 11, wherein said tracking of said reduced power consumption state of the virtual machine platform of said selected extended hypervisor is carried out by a management server connection broker.
 13. The method of claim 8, wherein said extended platform hypervisor further switches the virtual machine platforms controlled by each of said selected extended platform hypervisors back to full power state upon the activation of a client device connected to a virtual machine controlled by said extended platform hypervisor.
 14. The method of claim 13, wherein said switching of said virtual machine platforms controlled by each of said extended platform hypervisors back to full power state upon the activation of said client device is carried out by a management server connection broker.
 15. A computer usable medium having stored thereon a computer readable program for power management in a virtual machine farm including a farm of a plurality of virtual machine platforms, each platform providing a plurality of virtual machines and including a platform hypervisor for controlling said plurality of virtual machines; a plurality of sets, each set including a plurality of client devices respectively connected to the virtual machines in one of said plurality of virtual machine platforms; and a virtual machine farm management server for distributing and coordinating workload among said virtual machine platforms, wherein said computer program, when executed on a computer, causes a sharing of power management between any selected platform hypervisor and said farm management server to extend the selected platform hypervisor to: determine if each of said client devices connected to said virtual machines controlled by said selected platform hypervisor is in an active state; and switch said virtual machine platform of said selected platform hypervisor into a reduced power consumption state when all of said client devices connected to virtual machines controlled by said selected platform hypervisors are in a non-active state.
 16. The computer usable medium of claim 15, wherein said computer program, when executed, causes the farm management server to enable the inputting data to configure said selected extended platform hypervisor to monitor and place said virtual machine platform of said selected extended hypervisor into said reduced power consumption state upon a predetermined period after all of said client devices connected to virtual machines controlled by said extended platform hypervisor are in a non-active state.
 17. The computer usable medium of claim 16, wherein said computer program, when executed, enables the inputting of data in said management server to configure said selected extended platform hypervisor through a manual configuration interface in said management server.
 18. The computer usable medium of claim 15, wherein said computer program, when executed, causes said farm management server to track said reduced power consumption state of the virtual machine platform of said selected extended hypervisor.
 19. The computer usable medium of claim 18, wherein said tracking of said reduced power consumption state of the virtual machine platform of said selected extended hypervisor is carried out by a management server connection broker.
 20. The computer usable medium of claim 15, wherein said computer program, when executed, causes said farm management server connection broker to switch the virtual machine platforms controlled by each of said selected extended platform hypervisors back to full power state upon the activation of a client device connected to a virtual machine controlled by said extended platform hypervisor. 